import CryptoJS from 'crypto-js'

/**
 * 加密（对应Java encrypt方法）
 * @param {string} salt - 盐值（需与Java端一致）
 * @param {string} password - 明文密码
 * @returns {string} Base64编码的加密字符串
 */
function encrypt(salt, password) {
  const key = CryptoJS.enc.Utf8.parse(salt)
  const encrypted = CryptoJS.AES.encrypt(password, key, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  })
  return encrypted.toString()
}

/**
 * 解密（对应Java decryptStr方法）
 * @param {string} salt - 盐值（需与Java端一致）
 * @param {string} password - Base64编码的加密字符串
 * @returns {string} 解密后的明文
 */
function decryptStr(salt, password) {
  const key = CryptoJS.enc.Utf8.parse(salt)
  const decrypted = CryptoJS.AES.decrypt(password, key, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  })
  return decrypted.toString(CryptoJS.enc.Utf8)
}

export { encrypt, decryptStr }
